:root{--primary: #1E2630;--primary-soft: #3A4552;--accent: #2C5F7C;--accent-hover: #1E4C65;--accent-soft: #E3EDF2;--bg: #F5F6F8;--bg-soft: #EEF1F4;--bg-panel: #FFFFFF;--text: #1E2630;--text-muted: #6B7785;--text-faint: #9AA5B1;--line: #E2E7EC;--line-strong: #CFD5DC;--danger: #B91C1C;--success: #2F855A;--font-head: "Inter", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Noto Sans SC", "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--header-h: 80px;--maxw: 1280px;--radius: 10px;--radius-lg: 16px;--radius-xl: 20px;--shadow-xs: 0 1px 2px rgba(30, 38, 48, .04);--shadow-sm: 0 2px 8px rgba(30, 38, 48, .06);--shadow-md: 0 6px 20px rgba(30, 38, 48, .08);--shadow-lg: 0 16px 40px rgba(30, 38, 48, .14);--ease: .25s cubic-bezier(.4, 0, .2, 1);--primary-color: var(--accent);--dark-color: var(--primary);--light-gray: var(--bg-soft);--mid-gray: var(--line);--text-color: var(--text);--text-light: var(--text-muted);--white: #fff;--shadow: var(--shadow-md)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.75;font-size:15px;font-feature-settings:"tnum" on;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent);text-decoration:none;transition:color var(--ease)}a:hover{color:var(--accent-hover)}img{display:block;max-width:100%}button{font-family:inherit}ul{list-style:none}.app{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;margin-top:var(--header-h)}.main-no-header{margin-top:0;min-height:100vh}.container{max-width:var(--maxw);margin:0 auto;padding:0 40px}.section{padding:96px 40px}.page{padding:64px 40px}.muted{color:var(--text-muted)}.page-title{font-family:var(--font-head);font-size:30px;font-weight:700;letter-spacing:.2px;color:var(--primary);padding-bottom:18px;margin-bottom:36px;border-bottom:2px solid var(--accent)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px;gap:32px}.section-eyebrow{font-family:var(--font-head);font-size:11px;font-weight:600;letter-spacing:4px;color:var(--accent);text-transform:uppercase;margin-bottom:12px}.section-title{font-family:var(--font-head);font-size:30px;font-weight:700;letter-spacing:.2px;color:var(--primary);line-height:1.3}.section-title.light{color:#fff}.section-sub{font-family:var(--font-head);font-size:19px;font-weight:600;margin:44px 0 20px;border-left:3px solid var(--accent);padding-left:16px;color:var(--primary)}.more{font-family:var(--font-head);font-size:13px;font-weight:600;letter-spacing:.5px;color:var(--accent);display:inline-flex;align-items:center;gap:6px;transition:gap var(--ease)}.more:hover{gap:10px}.more.light{color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:13px 30px;font-size:14px;font-weight:600;border-radius:var(--radius);cursor:pointer;border:1px solid transparent;transition:all var(--ease);font-family:var(--font-head);letter-spacing:.3px;text-decoration:none}.btn-primary,.btn{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover,.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-ghost{background:transparent;color:#fff;border-color:#fff6}.btn-ghost:hover{background:#ffffff1f;border-color:#fff;color:#fff}.btn-outline{background:var(--bg-panel);color:var(--primary);border-color:var(--line-strong)}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.header{position:fixed;top:0;left:0;right:0;height:var(--header-h);background:#ffffffe0;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--line);z-index:100}.header-inner{max-width:var(--maxw);margin:0 auto;height:100%;padding:0 40px;display:flex;align-items:center;gap:28px}.logo{flex-shrink:0;display:flex;align-items:center;height:100%}.logo img{height:56px;width:auto}.nav{display:flex;gap:2px;flex-shrink:0;margin-left:16px}.nav a{position:relative;padding:10px 16px;color:var(--primary);font-family:var(--font-head);font-size:14px;font-weight:500;border-radius:var(--radius);letter-spacing:.2px;transition:all var(--ease)}.nav a:after{content:"";position:absolute;left:16px;right:16px;bottom:2px;height:2px;background:var(--accent);transform:scaleX(0);transition:transform var(--ease);transform-origin:left}.nav a:hover{color:var(--accent)}.nav a:hover:after,.nav a.active:after{transform:scaleX(1)}.nav a.active{color:var(--accent);font-weight:600}.search-box{display:flex;flex:1;max-width:360px;margin-left:auto;position:relative;align-items:center}.search-box input{flex:1;height:42px;padding:0 14px 0 40px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft);font-size:14px;outline:none;transition:all var(--ease);font-family:inherit}.search-box input::placeholder{color:var(--text-faint)}.search-box input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px var(--accent-soft)}.search-box input:before{content:"⌕"}.search-box button{margin-left:10px;height:42px;padding:0 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-family:var(--font-head);font-size:14px;font-weight:600;letter-spacing:.3px;transition:all var(--ease)}.search-box button:hover{background:var(--accent)}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}.nav-toggle span{width:24px;height:2px;background:var(--primary);border-radius:2px}.mobile-menu-btn{display:none;font-size:24px;cursor:pointer;background:none;border:none;color:var(--primary)}.hero{position:relative;color:#fff;padding:140px 0 120px;overflow:hidden;background:linear-gradient(#1e2630d1,#1e2630f0),url(/images/hero-bg.jpg) center/cover no-repeat var(--primary)}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}.hero:after{content:"";position:absolute;right:10%;top:14%;bottom:14%;width:2px;background:var(--accent);opacity:.5;pointer-events:none}.hero-inner{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:0 40px}.hero-eyebrow{font-family:var(--font-head);font-size:12px;font-weight:600;letter-spacing:5px;color:#6fa8c4;text-transform:uppercase;margin-bottom:26px}.hero-title{font-family:var(--font-head);font-size:56px;font-weight:800;line-height:1.15;letter-spacing:-.6px;margin-bottom:26px}.hero-sub{font-size:17px;opacity:.82;max-width:620px;margin-bottom:40px;line-height:1.9;font-weight:400}.hero-cta{display:flex;gap:14px;flex-wrap:wrap}.about-strip{background:var(--primary);color:#fff;padding:104px 0;position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.about-strip:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}.about-grid{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}.about-text .section-eyebrow{color:#6fa8c4}.about-text .company-intro{color:#ffffffd1;margin:22px 0 32px;line-height:2;font-size:15.5px}.company-intro{line-height:2;margin:20px 0 24px;font-size:16px}.about-stats{display:flex;gap:0;margin-bottom:34px;border-top:1px solid rgba(255,255,255,.14)}.about-stats .stat{flex:1;padding:20px 8px 0 0}.about-stats .stat+.stat{padding-left:28px;border-left:1px solid rgba(255,255,255,.14)}.about-stats strong{display:block;font-family:var(--font-head);font-size:32px;font-weight:700;color:#fff;line-height:1.15;letter-spacing:-.3px}.about-stats strong i{font-style:normal;font-size:16px;font-weight:600;color:#6fa8c4;margin-left:2px}.about-stats em{display:block;font-style:normal;font-size:12px;letter-spacing:2px;color:#ffffff94;margin-top:6px}.about-media{position:relative}.about-media:before{content:"";position:absolute;top:-18px;right:-18px;bottom:18px;left:18px;border:1px solid rgba(111,168,196,.5);border-radius:6px;pointer-events:none}.about-media img{position:relative;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:6px;filter:grayscale(50%) contrast(1.06) brightness(.94);border:1px solid rgba(255,255,255,.15)}.product-grid,.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px}.product-card{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;cursor:pointer;transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease);text-decoration:none;color:inherit}.product-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-4px)}.product-card .img,.product-card .img-placeholder,.product-card .img-box img{aspect-ratio:4 / 3;width:100%;object-fit:cover}.product-card .img-box{aspect-ratio:4/3;overflow:hidden;background:var(--bg-soft)}.product-card-body,.product-card .info{padding:22px 24px 24px}.product-card-name,.product-card h3{font-family:var(--font-head);font-size:16px;font-weight:600;color:var(--primary);margin-bottom:8px;letter-spacing:.2px}.product-card-summary,.product-card p{font-size:13px;color:var(--text-muted);flex:1;line-height:1.75}.product-card-series{margin-top:14px;padding-top:12px;font-family:var(--font-head);font-size:12px;font-weight:600;color:var(--accent);border-top:1px solid var(--line);letter-spacing:.8px;text-transform:uppercase}.img-placeholder{background:var(--bg-soft);display:flex;align-items:center;justify-content:center;color:var(--text-faint);font-size:13px;text-align:center;padding:14px;font-weight:500}.img{display:block}.series-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:44px}.series-filter button{padding:9px 22px;background:var(--bg-panel);border:1px solid var(--line);border-radius:999px;cursor:pointer;font-family:var(--font-head);font-size:13px;font-weight:500;color:var(--primary);letter-spacing:.3px;transition:all var(--ease)}.series-filter button:hover{border-color:var(--accent);color:var(--accent)}.series-filter button.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:var(--shadow-sm)}.series-group{margin-bottom:60px}.series-title,.product-series h3{font-family:var(--font-head);font-size:20px;font-weight:700;color:var(--primary);margin-bottom:24px;padding-left:16px;border-left:4px solid var(--accent);letter-spacing:.3px}.page-header{background:var(--bg-panel);padding:56px 0 48px;border-bottom:1px solid var(--line)}.page-header h1{font-family:var(--font-head);font-size:34px;font-weight:700;color:var(--primary);letter-spacing:.2px;margin-bottom:12px}.breadcrumb{color:var(--text-muted);font-size:14px}.breadcrumb a{color:var(--text-muted)}.breadcrumb a:hover{color:var(--accent)}.product-detail{padding:64px 0}.product-detail-top,.detail-top{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:52px}.product-detail-img,.detail-img{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-soft);aspect-ratio:4/3}.product-detail-img img,.detail-img img{width:100%;height:100%;object-fit:cover}.product-detail-info h1,.detail-info h1{font-family:var(--font-head);font-size:30px;font-weight:700;color:var(--primary);margin:12px 0 20px;letter-spacing:.2px}.product-detail-info .desc,.detail-summary{color:var(--text-muted);line-height:1.9;margin-bottom:28px;font-size:15px}.detail-desc{line-height:2;margin-bottom:28px;font-size:15px}.detail-info h1{font-size:32px}.detail-series{font-family:var(--font-head);font-size:12px;font-weight:600;color:var(--accent);letter-spacing:1px;text-transform:uppercase}.param-table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-panel);box-shadow:var(--shadow-xs)}.param-table th,.param-table td{padding:16px 22px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.param-table tr:last-child th,.param-table tr:last-child td{border-bottom:none}.param-table th{width:200px;background:var(--bg-soft);font-weight:600;color:var(--primary);font-family:var(--font-head);letter-spacing:.3px}.param-table td{color:var(--text);font-weight:500}.param-table tbody tr:hover td{background:#fafbfc}.product-detail-section{margin-top:44px}.product-detail-section h3{font-family:var(--font-head);font-size:22px;font-weight:700;color:var(--primary);margin-bottom:22px;padding-left:16px;border-left:4px solid var(--accent);letter-spacing:.3px}.product-detail-section p{color:var(--text-muted);line-height:2;margin-bottom:16px;font-size:15px}.contact-page{padding:64px 0}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:56px}.contact-info,.contact-form{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:36px 40px;box-shadow:var(--shadow-xs)}.contact-info h3,.contact-form h3{font-family:var(--font-head);font-size:20px;font-weight:700;color:var(--primary);margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--line)}.contact-info-item{display:flex;align-items:flex-start;margin-bottom:26px;gap:18px}.contact-info-item .icon{width:48px;height:48px;background:var(--accent-soft);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.contact-info-item h4{font-family:var(--font-head);font-size:14px;font-weight:600;color:var(--text-muted);margin-bottom:6px;letter-spacing:.5px;text-transform:uppercase}.contact-info-item p{color:var(--primary);font-size:15px;line-height:1.7}.contact-form{display:flex;flex-direction:column}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-family:var(--font-head);font-size:13px;font-weight:600;color:var(--primary);letter-spacing:.3px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border:1px solid var(--line-strong);border-radius:var(--radius);font-size:14px;font-family:inherit;outline:none;background:var(--bg-panel);transition:all var(--ease);color:var(--text)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-group textarea{height:120px;resize:vertical;line-height:1.7}.form-msg{margin-top:10px;color:var(--accent);font-size:14px;font-weight:500}.form-msg.error{color:var(--danger)}.about-page-content{padding:64px 0}.about-page-text{max-width:820px}.about-page-text p{margin-bottom:22px;line-height:2.1;color:var(--text-muted);font-size:15.5px;text-indent:2em}.news-page{padding:64px 0}.news-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:30px}.news-item{display:flex}.news-card{display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--ease);height:100%;color:inherit;width:100%}.news-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);border-color:var(--accent)}.news-card-img{aspect-ratio:16/9;background:var(--bg-soft);overflow:hidden}.news-card-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--ease)}.news-card:hover .news-card-img img{transform:scale(1.04)}.news-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),#2a3540);color:#ffffff73;font-size:13px;letter-spacing:4px;font-family:var(--font-head);font-weight:600}.news-card-body{padding:24px 26px;display:flex;flex-direction:column;flex:1}.news-date{font-family:var(--font-head);font-size:12px;font-weight:600;color:var(--accent);letter-spacing:.5px;margin-bottom:12px}.news-card-body h3{font-family:var(--font-head);font-size:18px;font-weight:700;color:var(--primary);margin-bottom:12px;line-height:1.5}.news-card-body p{color:var(--text-muted);font-size:14px;line-height:1.8;margin-bottom:16px;flex:1}.news-more{color:var(--accent);font-size:13px;font-weight:600;font-family:var(--font-head);letter-spacing:.3px}.news-detail{padding:64px 0}.news-article{max-width:820px;margin:0 auto}.news-meta{color:var(--text-muted);font-size:14px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--line)}.news-banner{margin-bottom:36px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.news-banner img{width:100%;display:block}.news-summary{font-size:17px;color:var(--primary);line-height:1.9;font-weight:500;padding:24px 28px;background:var(--accent-soft);border-radius:var(--radius-lg);border-left:4px solid var(--accent);margin-bottom:36px}.news-content p{color:var(--text-muted);line-height:2.1;margin-bottom:22px;font-size:15.5px;text-indent:2em}.news-figure{margin:32px 0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line)}.news-figure img{width:100%;display:block}.img-upload{width:100%}.img-upload-drop{width:100%;padding:30px 20px;border:1.5px dashed var(--line-strong);border-radius:var(--radius);background:var(--bg-soft);color:var(--text-muted);cursor:pointer;font-size:13px;transition:all var(--ease);font-family:var(--font-head);font-weight:500}.img-upload-drop:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.img-upload-drop:disabled{opacity:.6;cursor:wait}.img-upload-preview img{max-width:100%;max-height:260px;border-radius:var(--radius);border:1px solid var(--line);margin-bottom:10px;object-fit:contain;background:var(--bg-soft)}.img-upload-actions{display:flex;gap:8px;margin-bottom:6px}.img-upload-actions .admin-btn{margin-right:0}.img-upload-url{font-size:12px;color:var(--text-faint);word-break:break-all;line-height:1.6}.img-upload-err{color:var(--danger);font-size:13px;margin-top:6px}.editor-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.editor-tip{font-size:12px;color:var(--text-faint)}.jobs-page{padding:64px 0}.jobs-banner{background:linear-gradient(#1e2630c7,#1e2630e6),url(/images/jobs-banner.jpg) center/cover no-repeat var(--primary);color:#fff;padding:72px 48px;border-radius:var(--radius-lg);text-align:center;margin-bottom:48px;position:relative;overflow:hidden}.jobs-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}.jobs-banner h2{font-family:var(--font-head);font-size:30px;margin-bottom:16px;font-weight:700;letter-spacing:.5px;position:relative}.jobs-banner p{color:#ffffffd1;font-size:15px;line-height:1.9;max-width:620px;margin:0 auto;position:relative}.jobs-list{max-width:900px;margin:0 auto}.job-item{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:16px;overflow:hidden;transition:box-shadow var(--ease),border-color var(--ease)}.job-item.open{box-shadow:var(--shadow-md);border-color:var(--accent)}.job-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;cursor:pointer}.job-title h3{font-family:var(--font-head);font-size:17px;color:var(--primary);margin-bottom:12px;font-weight:700}.job-tags{display:flex;gap:8px;flex-wrap:wrap}.job-tag{display:inline-block;padding:4px 12px;background:var(--bg-soft);border-radius:999px;font-size:12px;color:var(--text-muted);font-family:var(--font-head);font-weight:500}.job-tag.salary{color:var(--accent);background:var(--accent-soft);font-weight:600}.job-arrow{font-size:18px;color:var(--text-faint);transition:transform var(--ease)}.job-arrow.rotate{transform:rotate(180deg)}.job-body{padding:24px 28px 28px;border-top:1px solid var(--line)}.job-section{margin-bottom:22px}.job-section h4{font-family:var(--font-head);font-size:14px;color:var(--primary);margin-bottom:12px;padding-left:12px;border-left:3px solid var(--accent);font-weight:600;letter-spacing:.3px}.job-section p{color:var(--text-muted);line-height:2;font-size:14px;margin-bottom:4px}.no-results{text-align:center;padding:72px 0;color:var(--text-muted);font-size:15px}.search-results{padding:64px 0}.search-results h2{font-family:var(--font-head);font-size:24px;color:var(--primary);margin-bottom:32px;font-weight:700}.search-item{padding:24px 0;border-bottom:1px solid var(--line);transition:all var(--ease)}.search-item:hover{padding-left:8px}.search-item h4{font-family:var(--font-head);font-size:17px;margin-bottom:8px;font-weight:600}.search-item h4 a{color:var(--accent)}.search-item h4 a:hover{color:var(--accent-hover)}.search-item p{color:var(--text-muted);font-size:14px;line-height:1.8}.search-item .type{display:inline-block;background:var(--accent-soft);color:var(--accent);padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600;margin-right:10px;font-family:var(--font-head);letter-spacing:.3px}.footer{background:var(--primary);color:#a8b2bd;padding:64px 40px 32px;margin-top:auto;border-top:1px solid rgba(255,255,255,.06)}.footer-inner{max-width:var(--maxw);margin:0 auto}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:40px}.footer-col h4{font-family:var(--font-head);font-size:13px;font-weight:700;margin-bottom:20px;color:#fff;letter-spacing:1px;text-transform:uppercase}.footer-col p,.footer-col a{color:#9aa5b1;font-size:14px;line-height:2.1}.footer-col a:hover{color:#fff}.footer-bottom{text-align:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);color:#6b7785;font-size:13px;letter-spacing:.3px}.footer-name{font-family:var(--font-head);font-size:17px;font-weight:700;color:#fff;margin-bottom:14px;letter-spacing:.3px}.footer-slogan{color:#9aa5b1;font-size:14px;line-height:1.9;max-width:320px}.admin-body{background:#eef1f6;min-height:100vh}.admin-login{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--primary);position:relative;overflow:hidden}.admin-login:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;pointer-events:none}.login-box{position:relative;z-index:1;background:var(--bg-panel);padding:48px 40px 40px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:420px;border:1px solid var(--line)}.login-box h2{text-align:center;color:var(--primary);margin-bottom:32px;font-size:22px;font-weight:700;letter-spacing:.5px;font-family:var(--font-head)}.login-box .form-group input{padding:13px 16px}.login-box .btn{width:100%;padding:13px;box-shadow:var(--shadow-sm)}.admin-container{display:flex;min-height:100vh}.admin-sidebar{width:240px;background:var(--primary);color:#fff;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid rgba(255,255,255,.06)}.admin-sidebar .logo-area{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.08);text-align:center}.admin-sidebar .logo-area img{height:42px}.admin-sidebar .menu{padding:18px 0}.admin-sidebar .menu a,.admin-sidebar .menu button{display:block;padding:13px 24px;color:#ffffffa6;transition:all var(--ease);font-size:14.5px;font-family:var(--font-head);font-weight:500;position:relative;border-left:3px solid transparent;cursor:pointer}.admin-sidebar .menu a:hover,.admin-sidebar .menu button:hover{background:#ffffff0d;color:#fff}.admin-sidebar .menu a.active,.admin-sidebar .menu button.active{background:#2c5f7c2e;color:#fff;border-left:3px solid var(--accent);font-weight:600}.admin-sidebar .menu button{background:none;border:none;width:100%;text-align:left;border-left:3px solid transparent}.admin-main{flex:1;display:flex;flex-direction:column;min-width:0}.admin-header{background:var(--bg-panel);padding:20px 32px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-xs);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.admin-header h2{font-size:19px;color:var(--primary);font-weight:700;letter-spacing:.3px;font-family:var(--font-head)}.admin-content{padding:30px 32px;flex:1}.admin-card{background:var(--bg-panel);border-radius:var(--radius-lg);padding:28px;margin-bottom:22px;box-shadow:var(--shadow-xs);border:1px solid var(--line)}.stat-card{display:flex;align-items:center;gap:20px;padding:26px 28px!important;transition:transform var(--ease),box-shadow var(--ease)}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.stat-icon{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.stat-icon.blue{background:var(--accent-soft);color:var(--accent)}.stat-icon.green{background:#2f855a1a;color:var(--success)}.stat-icon.orange{background:#ea8a3d1a;color:#e08a3d}.stat-num{font-family:var(--font-head);font-size:32px;font-weight:700;line-height:1.1;letter-spacing:-.5px;color:var(--primary)}.stat-label{color:var(--text-muted);font-size:13px;letter-spacing:.8px;margin-top:4px;font-family:var(--font-head)}.admin-btn{padding:9px 18px;border:none;border-radius:var(--radius);cursor:pointer;font-size:14px;transition:all var(--ease);margin-right:8px;font-weight:600;display:inline-flex;align-items:center;gap:5px;font-family:var(--font-head);letter-spacing:.2px}.admin-btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-xs)}.admin-btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.admin-btn-danger{background:var(--danger);color:#fff}.admin-btn-danger:hover{background:#991b1b;transform:translateY(-1px)}.admin-btn-default{background:var(--bg-soft);color:var(--primary);border:1px solid var(--line)}.admin-btn-default:hover{background:#e5e9ee}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);font-size:14px}.admin-table th{background:var(--bg-soft);font-weight:600;color:var(--primary);font-size:13px;letter-spacing:.5px;border-bottom:1px solid var(--line-strong);font-family:var(--font-head)}.admin-table th:first-child{border-top-left-radius:var(--radius)}.admin-table th:last-child{border-top-right-radius:var(--radius)}.admin-table tbody tr{transition:background var(--ease)}.admin-table tbody tr:hover{background:#fafbfc}.admin-table .product-thumb{width:60px;height:60px;object-fit:cover;border-radius:var(--radius);max-width:none;border:1px solid var(--line)}.admin-table .admin-btn{padding:7px 14px;font-size:13px}.admin-content .form-group label,.modal-body .form-group label{font-weight:600;color:var(--primary);margin-bottom:8px;font-size:13px;font-family:var(--font-head);letter-spacing:.3px}.admin-content .form-group input,.admin-content .form-group textarea,.admin-content .form-group select,.modal-body .form-group input,.modal-body .form-group textarea,.modal-body .form-group select{padding:11px 15px;border-radius:var(--radius);border-color:var(--line-strong)}.admin-content .form-group input:focus,.admin-content .form-group textarea:focus,.admin-content .form-group select:focus,.modal-body .form-group input:focus,.modal-body .form-group textarea:focus,.modal-body .form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#1e26308c;z-index:2000;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.modal.show{display:flex;align-items:flex-start;justify-content:center;padding-top:60px;overflow-y:auto}.modal-content{background:var(--bg-panel);border-radius:var(--radius-lg);width:720px;max-width:92%;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid var(--line);animation:modalIn .28s ease}@keyframes modalIn{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}.modal-header{padding:22px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:var(--bg-soft);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-header h3{font-size:18px;color:var(--primary);font-weight:700;font-family:var(--font-head)}.modal-close{font-size:26px;cursor:pointer;color:var(--text-muted);line-height:1;transition:color var(--ease);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius)}.modal-close:hover{color:var(--danger);background:#b91c1c14}.modal-body{padding:28px}.modal-footer{padding:18px 28px;border-top:1px solid var(--line);text-align:right;background:var(--bg-soft);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.modal-footer .admin-btn{min-width:90px;justify-content:center}@media (max-width: 992px){.footer-content{grid-template-columns:1fr 1fr;gap:32px}.contact-content,.product-detail-top,.detail-top{grid-template-columns:1fr;gap:32px}}@media (max-width: 768px){:root{--header-h: 64px}.header-inner{padding:0 20px;gap:12px;flex-wrap:wrap}.logo img{height:44px}.nav{display:none;width:100%;flex-direction:column;order:4;background:var(--bg-panel);border-top:1px solid var(--line);margin:0 -20px 8px;padding:8px 20px;gap:0}.nav.open,.nav.show{display:flex}.nav a{padding:14px 8px;border-radius:0;border-bottom:1px solid var(--line)}.nav a:after{display:none}.mobile-menu-btn{display:block;order:3}.nav-toggle{display:flex;order:3}.search-box{order:2;width:100%;max-width:none;margin-left:0;flex-basis:100%}.search-box input,.search-box button{height:42px}.hero{padding:80px 0 64px}.hero-inner{padding:0 20px}.hero-title{font-size:36px;letter-spacing:-.3px}.hero-sub{font-size:15px}.hero-cta{flex-wrap:wrap}.section{padding:56px 20px}.page{padding:40px 20px}.section-title,.page-title{font-size:24px}.container{padding:0 20px}.page-header{padding:40px 0 36px}.page-header h1{font-size:26px}.about-grid{grid-template-columns:1fr;gap:48px}.about-strip{padding:64px 0}.about-media:before{display:none}.about-stats strong{font-size:26px}.about-stats .stat+.stat{padding-left:16px}.detail-top,.product-detail-top{flex-direction:column;gap:24px}.detail-info h1,.product-detail-info h1{font-size:26px}.param-table th{width:140px}.footer-content{grid-template-columns:1fr;gap:28px}.admin-sidebar{width:64px}.admin-sidebar .menu a,.admin-sidebar .menu button{padding:13px 0;text-align:center;font-size:18px}.admin-content{padding:20px}.login-box{width:92%;padding:36px 28px 32px}}
